Continuations for Prototyping Concurrent Languages
نویسندگان
چکیده
We have recently introduced the “continuation semantics for concurrency” (CSC) technique in an attempt to exploit the benefits of using continuations in concurrent systems development. In the CSC approach, a continuation is an application-dependent configuration of computations (partially evaluated denotations). Every computation or group of computations contained in a continuation can be accessed and manipulated separately by the denotational semantic function. The CSC technique provides excellent flexibility and a “pure” continuation-based approach to communication and concurrency, in which all control concepts are modeled as operations manipulating continuations. In this paper, we present a methodology for concurrent language development, based on denotational semantics. We show that, by using the CSC technique, denotational semantics can be used both as a method for formal specification and design and as a general method for implementing compositional prototypes of concurrent programming languages. We provide continuation structures for various traditional concurrent control concepts. We also present compositional semantic models for the following advanced control concepts that have not been modeled until now without CSC: remote object (process) destruction and cloning and nondeterministic promotion in Andorra-like languages.
منابع مشابه
First Class Messages as First Class Continuations
First class messages, which we call message continuations, provide object-oriented concurrent programming languages with extensibility in modeling and programming communication schemes such as asynchronous communication, multicasting, sophisticated synchronization constraints, interobject synchronization, concurrency control, resource management, and so on. In spite of its powerful extensibilit...
متن کاملMechanized Relational Verification of Concurrent Programs with Continuations
Concurrent higher-order imperative programming languages with continuations are very flexible and allow for the implementation of sophisticated programming patterns. For instance, researchers and practitioners have argued that the implementation of web servers can be simplified by using a programming pattern based on continuations. This programming pattern can, in particular, help simplify keep...
متن کاملContinuations for Remote Objects Control
We have recently introduced the ”continuation semantics for concurrency” (CSC) technique in an attempt to exploit the benefits of using continuations in concurrent systems development. CSC is a general technique for denotational semantics which provides excellent flexibility in the compositional modeling of concurrent control concepts. In this paper, we present a denotational semantics designed...
متن کاملCSC in concurrent languages prototyping
In [11] we presented a compositional interpreter for a CSP-like language and we showed that, by using the ”continuation semantics for concurrency” (CSC) technique (recently introduced by us), denotational semantics can be used as a prototyping method for concurrent programming languages. In this paper we employ domains (which are complete partial orders) and continuous functions in developing a...
متن کاملPrototyping Programming Environments for Object-Oriented Concurrent Languages: a Smalltalk-Based Experience Lo c LESCAUDRON
This paper discusses the prototyping of programming environments for object-oriented concurrent programming languages. We advocate designing new prototypes starting from existing sophisticated programming environments that we can nd in standard (sequential) object-oriented programming languages (namely Smalltalk-80 1 ). Our starting point is a testbed for object-oriented concurrent languages ba...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004